// @include "../../scripts/spket.js"

$(function(){
	bind();

	function bind() {
		var rows = $("#content tr:not(:last) a"),
			last= $("#content tr:last a");

		rows.filter(":even").click(update);
		rows.filter(":odd").click(remove);

		last.eq(0).click(add);
		last.eq(1).click(clear);
	}
	
	function update() {
		var $tr = $(this).parent().parent(),
			name = $tr.find("td:first").html().trim(),
			desc = $tr.find("input").val();

		save("users.update", { name: name, desc: desc });
	}

	function remove() {
		var $tr = $(this).parent().parent(),
			name = $tr.find("td:first").html().trim();

		var req = { action: "users.remove", params: name };
		panda.post(req, show);
	}

	function add() {
		var $input = $(this).parent().parent().find("input"),		
			name = $input.eq(0).val(),
			desc = $input.eq(1).val();

		save("users.add", { name: name, desc: desc });
	}

	function clear() {
		var $input = $(this).parent().parent().find("input");
		$input.val("").eq(0).focus();
	}

	function save(action, user) {
		var validated = validator.validateUser(user);

		if (!validated.success) {
			$("#error").html(validated.error).show();	
			return;
		}

		var req = { action: action, params: validated.data };
		panda.post(req, show, function(error){
			$("#error").html(error).show();	
		});
	}

	function show(users) {
		views.index($, users);
		bind();
	}
});
